﻿//-----------------------------------------------------------------------
// <copyright file="ModifyMode.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the ModifyMode enumeration.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Rules
{
    /// <summary>
    /// Enumerated values for modification of factTypes.
    /// </summary>
    public enum ModifyMode
    {
        /// <summary>
        /// Represents the default modification mode.
        /// </summary>
        /// <remarks>the default modification mode does not implement any form of refraction.</remarks>
        Default,

        /// <summary>
        /// Represents modification with strong refraction.
        /// </summary>
        NoLoop,

        /// <summary>
        /// Represents modification with weak refraction.  No looping will occur for modications to factTypes
        /// are unconstrained (i.e., where there are no conditions on factType attributes in the LHS of a rule). 
        /// </summary>
        NoLoopForUnconstrainedFact,
    }
}
